#include <stdio.h>
#include <stdlib.h>

typedef struct list
{
    int data[2000];
    int length;
}List , *Plist;

List m;

void insert (int x)
{
    int tem;
    int cnt = 0;
    for (int i = 0 ; i < m.length ; i++)
    {
        if (x < m.data[i])
        {
            tem = i;
            break;
        }
        cnt++;
        
    }
    if (cnt == m.length)
    {
        m.data[cnt] = x;
        m.length++;
        return;
    }

    for (int j = m.length - 1 ; j >= tem ; j--)
    {
        m.data[j + 1] = m.data[j];
    }

    m.data[tem] = x;
    m.length++;
}

int main ()
{
    
    m.length = 0;

    int n;

    scanf ("%d" , &n);
    for (int i = 0 ; i < n ; i++)
    {
        scanf ("%d" ,&m.data[i]);
        m.length++;
    }

    int x;
    scanf ("%d" , &x);

    insert(x);

    for (int k = 0 ; k < m.length ; k++ )
    {
        printf ("%d " , m.data[k]);
    }

    return 0;
}